package com.monkeygroup.mygoplus.common.utils;

import android.text.TextUtils;
import android.util.Log;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by cumt on 2017/3/13.
 */
public class VilidateUtil {

    private  static int code = 200;
    private static VilidateUtil ourInstance = new VilidateUtil();

    public static VilidateUtil getInstance() {
        return ourInstance;
    }

    private VilidateUtil() {

    }
        /**
         * 验证手机格式
         */
        public static boolean isMobile(String number) {
    /*
    移动：134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
    联通：130、131、132、152、155、156、185、186
    电信：133、153、180、189、（1349卫通）
    总结起来就是第一位必定为1，第二位必定为3或5或8，其他位置的可以为0-9
    */
            String num = "[1][358]\\d{9}";//"[1]"代表第1位为数字1，"[358]"代表第二位可以为3、5、8中的一个，"\\d{9}"代表后面是可以是0～9的数字，有9位。
            if (TextUtils.isEmpty(number)) {
                return false;
            } else {
                //matches():字符串是否在给定的正则表达式匹配
                return number.matches(num);
            }
        }

    /**
     * @param
     * @return 如果是符合邮箱格式的字符串,返回<b>true</b>,否则为<b>false</b>
     */
    public static boolean isEmail( String str ) {
        String regex = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}" ;
        return match( regex ,str );
    }

    /**
     * @param regex 正则表达式字符串
     * @param str   要匹配的字符串
     * @return 如果str 符合 regex的正则表达式格式,返回true, 否则返回 false;
     */
    private static boolean match( String regex ,String str ){
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher( str );
        return matcher.matches();
    }

    /**
     * 賬戶驗證
     * @param account
     * @return
     */
    public static boolean isAccount(String account) {

        String num = "[A-Za-z0-9_]+";//
        if (TextUtils.isEmpty(account)) {
            return false;
        } else {
            //matches():字符串是否在给定的正则表达式匹配
            return account.matches(num);
        }

    }

    /**
     * 必須是數字+密碼
     * @param pwd
     * @return
     */
    public static boolean isPwd(String pwd) {

        String num = ".*[a-zA-Z].*[0-9]|.*[0-9].*[a-zA-Z]";//
        if (TextUtils.isEmpty(pwd)) {
            return false;
        } else {
            //matches():字符串是否在给定的正则表达式匹配
            return pwd.matches(num);
        }


    }

    /**
     * 是否是数字
     * @param str
     * @return
     */
    public static boolean isNumeric(String str){
        for (int i = 0; i < str.length(); i++){
            System.out.println(str.charAt(i));
            if (!Character.isDigit(str.charAt(i))){
                return false;
            }
        }
        return true;
    }

    /**
     * 驗證請求是否成功
     * @return
     */
    public static boolean isSuccess(int code){

        if(VilidateUtil.code==code){
            return true;
        }
        else{
            return false;
        }
    }



}
